# 导入NumPy库，用于数值计算
import numpy as np
# 导入Matplotlib的Pyplot库，用于绘图
import matplotlib.pyplot as plt

# 设置Matplotlib的rcParams参数，确保图表中能够正常显示中文和负号
plt.rcParams['font.sans-serif'] = ['SimHei']  # 设置为SimHei字体以支持中文显示
plt.rcParams['axes.unicode_minus'] = False  # 确保负号正常显示

# 准备数据
# x是一个包含一系列浮点数的NumPy数组，代表网购替代率
x = np.array([0.959, 0.951, 0.935, 0.924, 0.893,
              0.892, 0.865, 0.863, 0.860, 0.856,
              0.854, 0.835, 0.826, 0.816, 0.798,
              0.765, 0.763, 0.67])

# labels是一个列表，包含与x数组数据相对应的标签，即各种商品和服务的名称
labels = ["家政、家教、保姆等生活服务", "飞机票、火车票", "家具", "手机、手机配件",
          "计算机及其配套产品", "汽车用品", "通信充值、游戏充值", "个人护理用品",
          "书报杂志及音像制品", "餐饮、旅游、住宿", "家用电器",
          "食品、饮料、烟酒、保健品", "家庭日杂用品",
          "保险、演出票务",
          "服装、鞋帽、家用纺织品", "数码产品", "其他商品和服务", "工艺品、收藏品"]

# 绘制条形图
# 使用plt.bar函数绘制条形图，x轴的位置是range(len(x))生成的整数序列，与x数组长度相同
# align='center'表示条形图在x轴位置居中显示，color='red'表示条形图的颜色为红色
plt.bar(range(len(x)), x, align='center', color='red')

# 设置x轴的刻度标签为labels列表中的元素
# 使用plt.xticks函数，第一个参数是x轴的位置（与条形图对应），第二个参数是刻度标签
plt.xticks(range(len(x)), labels)

# 设置图表的标题为'网购替代率条形统计图'
plt.title('网购替代率条形统计图')

# 显示图表
plt.show()